<!DOCTYPE html><html><head>
      <title>README</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      
      <link rel="stylesheet" href="file:///c:\Users\22608\.vscode\extensions\shd101wyy.markdown-preview-enhanced-0.8.18\crossnote\dependencies\katex\katex.min.css">
      
      
      
      
      
      <style>
      code[class*=language-],pre[class*=language-]{color:#333;background:0 0;font-family:Consolas,"Liberation Mono",Menlo,Courier,monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.4;-moz-tab-size:8;-o-tab-size:8;tab-size:8;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*=language-]{padding:.8em;overflow:auto;border-radius:3px;background:#f5f5f5}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal;background:#f5f5f5}.token.blockquote,.token.comment{color:#969896}.token.cdata{color:#183691}.token.doctype,.token.macro.property,.token.punctuation,.token.variable{color:#333}.token.builtin,.token.important,.token.keyword,.token.operator,.token.rule{color:#a71d5d}.token.attr-value,.token.regex,.token.string,.token.url{color:#183691}.token.atrule,.token.boolean,.token.code,.token.command,.token.constant,.token.entity,.token.number,.token.property,.token.symbol{color:#0086b3}.token.prolog,.token.selector,.token.tag{color:#63a35c}.token.attr-name,.token.class,.token.class-name,.token.function,.token.id,.token.namespace,.token.pseudo-class,.token.pseudo-element,.token.url-reference .token.variable{color:#795da3}.token.entity{cursor:help}.token.title,.token.title .token.punctuation{font-weight:700;color:#1d3e81}.token.list{color:#ed6a43}.token.inserted{background-color:#eaffea;color:#55a532}.token.deleted{background-color:#ffecec;color:#bd2c00}.token.bold{font-weight:700}.token.italic{font-style:italic}.language-json .token.property{color:#183691}.language-markup .token.tag .token.punctuation{color:#333}.language-css .token.function,code.language-css{color:#0086b3}.language-yaml .token.atrule{color:#63a35c}code.language-yaml{color:#183691}.language-ruby .token.function{color:#333}.language-markdown .token.url{color:#795da3}.language-makefile .token.symbol{color:#795da3}.language-makefile .token.variable{color:#183691}.language-makefile .token.builtin{color:#0086b3}.language-bash .token.keyword{color:#0086b3}pre[data-line]{position:relative;padding:1em 0 1em 3em}pre[data-line] .line-highlight-wrapper{position:absolute;top:0;left:0;background-color:transparent;display:block;width:100%}pre[data-line] .line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}pre[data-line] .line-highlight:before,pre[data-line] .line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}pre[data-line] .line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}html body{font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;font-size:16px;line-height:1.6;color:#333;background-color:#fff;overflow:initial;box-sizing:border-box;word-wrap:break-word}html body>:first-child{margin-top:0}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{line-height:1.2;margin-top:1em;margin-bottom:16px;color:#000}html body h1{font-size:2.25em;font-weight:300;padding-bottom:.3em}html body h2{font-size:1.75em;font-weight:400;padding-bottom:.3em}html body h3{font-size:1.5em;font-weight:500}html body h4{font-size:1.25em;font-weight:600}html body h5{font-size:1.1em;font-weight:600}html body h6{font-size:1em;font-weight:600}html body h1,html body h2,html body h3,html body h4,html body h5{font-weight:600}html body h5{font-size:1em}html body h6{color:#5c5c5c}html body strong{color:#000}html body del{color:#5c5c5c}html body a:not([href]){color:inherit;text-decoration:none}html body a{color:#08c;text-decoration:none}html body a:hover{color:#00a3f5;text-decoration:none}html body img{max-width:100%}html body>p{margin-top:0;margin-bottom:16px;word-wrap:break-word}html body>ol,html body>ul{margin-bottom:16px}html body ol,html body ul{padding-left:2em}html body ol.no-list,html body ul.no-list{padding:0;list-style-type:none}html body ol ol,html body ol ul,html body ul ol,html body ul ul{margin-top:0;margin-bottom:0}html body li{margin-bottom:0}html body li.task-list-item{list-style:none}html body li>p{margin-top:0;margin-bottom:0}html body .task-list-item-checkbox{margin:0 .2em .25em -1.8em;vertical-align:middle}html body .task-list-item-checkbox:hover{cursor:pointer}html body blockquote{margin:16px 0;font-size:inherit;padding:0 15px;color:#5c5c5c;background-color:#f0f0f0;border-left:4px solid #d6d6d6}html body blockquote>:first-child{margin-top:0}html body blockquote>:last-child{margin-bottom:0}html body hr{height:4px;margin:32px 0;background-color:#d6d6d6;border:0 none}html body table{margin:10px 0 15px 0;border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}html body table th{font-weight:700;color:#000}html body table td,html body table th{border:1px solid #d6d6d6;padding:6px 13px}html body dl{padding:0}html body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}html body dl dd{padding:0 16px;margin-bottom:16px}html body code{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;font-size:.85em;color:#000;background-color:#f0f0f0;border-radius:3px;padding:.2em 0}html body code::after,html body code::before{letter-spacing:-.2em;content:'\00a0'}html body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:0 0;border:0}html body .highlight{margin-bottom:16px}html body .highlight pre,html body pre{padding:1em;overflow:auto;line-height:1.45;border:#d6d6d6;border-radius:3px}html body .highlight pre{margin-bottom:0;word-break:normal}html body pre code,html body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}html body pre code:after,html body pre code:before,html body pre tt:after,html body pre tt:before{content:normal}html body blockquote,html body dl,html body ol,html body p,html body pre,html body ul{margin-top:0;margin-bottom:16px}html body kbd{color:#000;border:1px solid #d6d6d6;border-bottom:2px solid #c7c7c7;padding:2px 4px;background-color:#f0f0f0;border-radius:3px}@media print{html body{background-color:#fff}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{color:#000;page-break-after:avoid}html body blockquote{color:#5c5c5c}html body pre{page-break-inside:avoid}html body table{display:table}html body img{display:block;max-width:100%;max-height:100%}html body code,html body pre{word-wrap:break-word;white-space:pre}}.markdown-preview{width:100%;height:100%;box-sizing:border-box}.markdown-preview ul{list-style:disc}.markdown-preview ul ul{list-style:circle}.markdown-preview ul ul ul{list-style:square}.markdown-preview ol{list-style:decimal}.markdown-preview ol ol,.markdown-preview ul ol{list-style-type:lower-roman}.markdown-preview ol ol ol,.markdown-preview ol ul ol,.markdown-preview ul ol ol,.markdown-preview ul ul ol{list-style-type:lower-alpha}.markdown-preview .newpage,.markdown-preview .pagebreak{page-break-before:always}.markdown-preview pre.line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}.markdown-preview pre.line-numbers>code{position:relative}.markdown-preview pre.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:1em;font-size:100%;left:0;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-preview pre.line-numbers .line-numbers-rows>span{pointer-events:none;display:block;counter-increment:linenumber}.markdown-preview pre.line-numbers .line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}.markdown-preview .mathjax-exps .MathJax_Display{text-align:center!important}.markdown-preview:not([data-for=preview]) .code-chunk .code-chunk-btn-group{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .status{display:none}.markdown-preview:not([data-for=preview]) .code-chunk .output-div{margin-bottom:16px}.markdown-preview .md-toc{padding:0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link div,.markdown-preview .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}.markdown-preview .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode]){position:relative;width:100%;height:100%;top:0;left:0;margin:0;padding:0;overflow:auto}html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{position:relative;top:0;min-height:100vh}@media screen and (min-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em calc(50% - 457px + 2em)}}@media screen and (max-width:914px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode]) .markdown-preview{font-size:14px!important;padding:1em}}@media print{html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{display:none}}html body[for=html-export]:not([data-presentation-mode]) #sidebar-toc-btn{position:fixed;bottom:8px;left:8px;font-size:28px;cursor:pointer;color:inherit;z-index:99;width:32px;text-align:center;opacity:.4}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] #sidebar-toc-btn{opacity:1}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc{position:fixed;top:0;left:0;width:300px;height:100%;padding:32px 0 48px 0;font-size:14px;box-shadow:0 0 4px rgba(150,150,150,.33);box-sizing:border-box;overflow:auto;background-color:inherit}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar{width:8px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc a{text-decoration:none}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc{padding:0 16px}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link div,html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .md-sidebar-toc .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{left:300px;width:calc(100% - 300px);padding:2em calc(50% - 457px - 300px / 2);margin:0;box-sizing:border-box}@media screen and (max-width:1274px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{padding:2em}}@media screen and (max-width:450px){html body[for=html-export]:not([data-presentation-mode])[html-show-sidebar-toc] .markdown-preview{width:100%}}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .markdown-preview{left:50%;transform:translateX(-50%)}html body[for=html-export]:not([data-presentation-mode]):not([html-show-sidebar-toc]) .md-sidebar-toc{display:none}
/* Please visit the URL below for more information: */
/*   https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */

      </style>
      <!-- The content below will be included at the end of the <head> element. --><script type="text/javascript">
  document.addEventListener("DOMContentLoaded", function () {
    // your code here
  });
</script></head><body for="html-export">
    
    
      <div class="crossnote markdown-preview  ">
      
<h1 id="薪水支付系统">薪水支付系统 </h1>
<h2 id="1问题描述">1.问题描述 </h2>
<p>下面是薪水支付系统的需求描述（与ASD相比进行了简化）：</p>
<p>（1）有些雇员完全以月薪进行支付。在他们的雇员记录中有一个月薪字段。</p>
<p>（2）有些雇员是钟点工。按照他们雇员记录中每小时报酬数和他们的工作时间支付薪水。他们每天会提交工作时间卡，其中记录了日期和工作小时数。如果他们每天工作超过8小时，那么超过的部分会按照正常报酬的1.5倍支付薪水。</p>
<p>（3）对于一些带薪雇员，会根据他们的销售情况，支付一定数量的酬金。他们会提交销售凭条，其中记录了日期和销售金额。在他们的雇员记录中有一个酬金报酬字段。</p>
<p>（4）雇员可以选择支付方式。可以选择把支付支票邮寄到他们指定的邮政地址；也可以把支票保存在出纳人员那里随时支取；或者要求将薪水直接存入他们指定的银行账户。</p>
<p>（5）薪水支付程序于每月发薪日运行一次，为相应的雇员支付薪水。</p>
<h2 id="2需求分析">2.需求分析 </h2>
<p>系统用例图</p>
<p class="plantuml"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentstyletype="text/css" data-diagram-type="DESCRIPTION" height="1162px" preserveAspectRatio="none" style="width:492px;height:1162px;background:#FFFFFF;" version="1.1" viewBox="0 0 492 1162" width="492px" zoomAndPan="magnify"><defs></defs><g><!--entity u--><g class="entity" data-entity="u" data-source-line="2" data-uid="ent0002" id="entity_u"><ellipse cx="21.9551" cy="516.87" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"></ellipse><path d="M21.9551,524.87 L21.9551,551.87 M8.9551,532.87 L34.9551,532.87 M21.9551,551.87 L8.9551,566.87 M21.9551,551.87 L34.9551,566.87" fill="none" style="stroke:#181818;stroke-width:0.5;"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="31.9102" x="6" y="581.3651">User</text></g><!--entity uc1--><g class="entity" data-entity="uc1" data-source-line="4" data-uid="ent0003" id="entity_uc1"><ellipse cx="159.4178" cy="116.5236" fill="#F1F1F1" rx="42.5978" ry="14.5236" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55.9998" x="131.4179" y="121.1721">添加雇员</text></g><!--entity uc2--><g class="entity" data-entity="uc2" data-source-line="5" data-uid="ent0004" id="entity_uc2"><ellipse cx="159.4178" cy="284.5236" fill="#F1F1F1" rx="42.5978" ry="14.5236" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55.9998" x="131.4179" y="289.1721">删除雇员</text></g><!--entity uc3--><g class="entity" data-entity="uc3" data-source-line="6" data-uid="ent0005" id="entity_uc3"><ellipse cx="159.4173" cy="469.5236" fill="#F1F1F1" rx="52.4973" ry="14.5236" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69.9997" x="124.4174" y="474.1721">登记时间卡</text></g><!--entity uc4--><g class="entity" data-entity="uc4" data-source-line="7" data-uid="ent0006" id="entity_uc4"><ellipse cx="159.4242" cy="625.5228" fill="#F1F1F1" rx="61.5142" ry="14.7028" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.9996" x="117.4244" y="630.1713">登记销售凭条</text></g><!--entity uc5--><g class="entity" data-entity="uc5" data-source-line="8" data-uid="ent0007" id="entity_uc5"><ellipse cx="159.4242" cy="915.5228" fill="#F1F1F1" rx="61.5142" ry="14.7028" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.9996" x="117.4244" y="920.1713">更改雇员明细</text></g><!--entity uc6--><g class="entity" data-entity="uc6" data-source-line="9" data-uid="ent0008" id="entity_uc6"><ellipse cx="159.4184" cy="979.5236" fill="#F1F1F1" rx="32.6984" ry="14.5236" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="41.9998" x="138.4184" y="984.1721">发薪日</text></g><!--entity uc11--><g class="entity" data-entity="uc11" data-source-line="11" data-uid="ent0009" id="entity_uc11"><ellipse cx="383.6373" cy="20.5236" fill="#F1F1F1" rx="52.4973" ry="14.5236" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69.9997" x="348.6374" y="25.1721">添加钟点工</text></g><!--entity uc12--><g class="entity" data-entity="uc12" data-source-line="12" data-uid="ent0010" id="entity_uc12"><ellipse cx="383.6442" cy="84.5228" fill="#F1F1F1" rx="61.5142" ry="14.7028" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.9996" x="341.6444" y="89.1713">添加月薪雇员</text></g><!--entity uc13--><g class="entity" data-entity="uc13" data-source-line="13" data-uid="ent0011" id="entity_uc13"><ellipse cx="383.6442" cy="148.5228" fill="#F1F1F1" rx="61.5142" ry="14.7028" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.9996" x="341.6444" y="153.1713">添加销售经理</text></g><!--entity uc21--><g class="entity" data-entity="uc21" data-source-line="15" data-uid="ent0012" id="entity_uc21"><ellipse cx="383.6424" cy="215.5205" fill="#F1F1F1" rx="72.2524" ry="16.8505" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111.9995" x="327.6427" y="220.1689">删除已存在的雇员</text></g><!--entity uc22--><g class="entity" data-entity="uc22" data-source-line="16" data-uid="ent0013" id="entity_uc22"><ellipse cx="383.6424" cy="284.5205" fill="#F1F1F1" rx="72.2524" ry="16.8505" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111.9995" x="327.6427" y="289.1689">删除不存在的雇员</text></g><!--entity uc31--><g class="entity" data-entity="uc31" data-source-line="18" data-uid="ent0014" id="entity_uc31"><ellipse cx="383.6431" cy="355.5186" fill="#F1F1F1" rx="83.9931" ry="19.1986" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139.9994" x="313.6434" y="360.1671">登记时间卡（钟点工）</text></g><!--entity uc32--><g class="entity" data-entity="uc32" data-source-line="19" data-uid="ent0015" id="entity_uc32"><ellipse cx="383.6441" cy="430.5228" fill="#F1F1F1" rx="90.1141" ry="20.4228" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="153.9993" x="306.6445" y="435.1713">登记时间卡（非钟点工）</text></g><!--entity uc33--><g class="entity" data-entity="uc33" data-source-line="20" data-uid="ent0016" id="entity_uc33"><ellipse cx="383.6388" cy="507.5218" fill="#F1F1F1" rx="96.3588" ry="21.6718" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="167.9993" x="299.6392" y="512.1702">登记时间卡（雇员不存在）</text></g><!--entity uc41--><g class="entity" data-entity="uc41" data-source-line="22" data-uid="ent0017" id="entity_uc41"><ellipse cx="383.6388" cy="585.5218" fill="#F1F1F1" rx="96.3588" ry="21.6718" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="167.9993" x="299.6392" y="590.1702">登记销售凭条（销售经理）</text></g><!--entity uc42--><g class="entity" data-entity="uc42" data-source-line="23" data-uid="ent0018" id="entity_uc42"><ellipse cx="383.6438" cy="665.5208" fill="#F1F1F1" rx="102.7038" ry="22.9408" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="181.9992" x="292.6442" y="670.1692">登记销售凭条（非销售经理）</text></g><!--entity uc43--><g class="entity" data-entity="uc43" data-source-line="24" data-uid="ent0019" id="entity_uc43"><ellipse cx="383.6438" cy="746.5208" fill="#F1F1F1" rx="102.7038" ry="22.9408" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="181.9992" x="292.6442" y="751.1692">登记销售凭条（雇员不存在）</text></g><!--entity uc51--><g class="entity" data-entity="uc51" data-source-line="26" data-uid="ent0020" id="entity_uc51"><ellipse cx="383.6442" cy="819.5228" fill="#F1F1F1" rx="61.5142" ry="14.7028" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.9996" x="341.6444" y="824.1713">更改雇员名字</text></g><!--entity uc52--><g class="entity" data-entity="uc52" data-source-line="27" data-uid="ent0021" id="entity_uc52"><ellipse cx="383.6442" cy="883.5228" fill="#F1F1F1" rx="61.5142" ry="14.7028" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.9996" x="341.6444" y="888.1713">更改雇员地址</text></g><!--entity uc53--><g class="entity" data-entity="uc53" data-source-line="28" data-uid="ent0022" id="entity_uc53"><ellipse cx="383.6352" cy="948.515" fill="#F1F1F1" rx="66.7252" ry="15.745" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="97.9996" x="334.6354" y="953.1635">更改每小时报酬</text></g><!--entity uc54--><g class="entity" data-entity="uc54" data-source-line="29" data-uid="ent0023" id="entity_uc54"><ellipse cx="383.6378" cy="1013.5236" fill="#F1F1F1" rx="42.5978" ry="14.5236" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55.9998" x="355.6379" y="1018.1721">更改月薪</text></g><!--entity uc55--><g class="entity" data-entity="uc55" data-source-line="30" data-uid="ent0024" id="entity_uc55"><ellipse cx="383.6378" cy="1077.5236" fill="#F1F1F1" rx="42.5978" ry="14.5236" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55.9998" x="355.6379" y="1082.1721">更改酬金</text></g><!--entity uc56--><g class="entity" data-entity="uc56" data-source-line="31" data-uid="ent0025" id="entity_uc56"><ellipse cx="383.6442" cy="1141.5228" fill="#F1F1F1" rx="61.5142" ry="14.7028" style="stroke:#181818;stroke-width:0.5;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="83.9996" x="341.6444" y="1146.1713">更改支付方式</text></g><!--link u to uc1--><g class="link" data-entity-1="u" data-entity-2="uc1" data-source-line="33" data-uid="lnk26" id="link_u_uc1"><path d="M30.53,508.32 C42.26,451.65 66.73,342.34 97.91,252.52 C113.76,206.86 136.041,160.6987 148.361,136.2387" fill="none" id="u-to-uc1" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="151.06,130.88,143.439,137.1186,148.8108,135.3455,150.5839,140.7173,151.06,130.88" style="stroke:#181818;stroke-width:1;"></polygon></g><!--link u to uc2--><g class="link" data-entity-1="u" data-entity-2="uc2" data-source-line="34" data-uid="lnk27" id="link_u_uc2"><path d="M38.36,516.72 C67.42,460.52 126.5743,346.1197 148.1043,304.4797" fill="none" id="u-to-uc2" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="150.86,299.15,143.1732,305.3074,148.5636,303.5914,150.2795,308.9817,150.86,299.15" style="stroke:#181818;stroke-width:1;"></polygon></g><!--link u to uc3--><g class="link" data-entity-1="u" data-entity-2="uc3" data-source-line="35" data-uid="lnk28" id="link_u_uc3"><path d="M38.23,537.83 C61.9,524.38 102.3536,501.3847 130.0836,485.6247" fill="none" id="u-to-uc3" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="135.3,482.66,125.499,483.6294,130.953,485.1306,129.4519,490.5846,135.3,482.66" style="stroke:#181818;stroke-width:1;"></polygon></g><!--link u to uc4--><g class="link" data-entity-1="u" data-entity-2="uc4" data-source-line="36" data-uid="lnk29" id="link_u_uc4"><path d="M38.23,555.43 C61.76,569.15 101.8574,592.5267 129.6274,608.7267" fill="none" id="u-to-uc4" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="134.81,611.75,129.0517,603.7599,130.4912,609.2305,125.0205,610.6701,134.81,611.75" style="stroke:#181818;stroke-width:1;"></polygon></g><!--link u to uc5--><g class="link" data-entity-1="u" data-entity-2="uc5" data-source-line="37" data-uid="lnk30" id="link_u_uc5"><path d="M37.07,584.96 C66.48,665.07 131.1627,841.2474 150.8127,894.7874" fill="none" id="u-to-uc5" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="152.88,900.42,153.5342,890.5929,151.1573,895.7261,146.024,893.3492,152.88,900.42" style="stroke:#181818;stroke-width:1;"></polygon></g><!--link u to uc6--><g class="link" data-entity-1="u" data-entity-2="uc6" data-source-line="38" data-uid="lnk31" id="link_u_uc6"><path d="M25.92,585.16 C33.41,674.08 55.56,889.98 97.91,947.52 C106.15,958.71 113.9568,964.0637 126.0268,969.0637" fill="none" id="u-to-uc6" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="131.57,971.36,124.786,964.2201,126.9507,969.4464,121.7243,971.6111,131.57,971.36" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc1 to uc11--><g class="link" data-entity-1="uc1" data-entity-2="uc11" data-source-line="40" data-uid="lnk32" id="link_uc1_uc11"><path d="M197.1277,94.6085 C220.7577,80.7185 244.88,67.61 280.94,52.52 C301.6,43.87 325.45,36.25 344.86,30.61" fill="none" id="uc1-backto-uc11" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="181.61,103.73,200.1682,99.7811,194.0872,89.436,181.61,103.73" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc1 to uc12--><g class="link" data-entity-1="uc1" data-entity-2="uc12" data-source-line="41" data-uid="lnk33" id="link_uc1_uc12"><path d="M217.2059,108.3424 C253.4259,103.1224 289.85,97.88 329.93,92.11" fill="none" id="uc1-backto-uc12" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="199.39,110.91,218.0618,114.281,216.3501,102.4037,199.39,110.91" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc1 to uc13--><g class="link" data-entity-1="uc1" data-entity-2="uc13" data-source-line="42" data-uid="lnk34" id="link_uc1_uc13"><path d="M217.2066,124.6928 C253.4266,129.9028 289.85,135.16 329.93,140.93" fill="none" id="uc1-backto-uc13" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="199.39,122.13,216.3524,130.6317,218.0609,118.7539,199.39,122.13" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc2 to uc21--><g class="link" data-entity-1="uc2" data-entity-2="uc21" data-source-line="44" data-uid="lnk35" id="link_uc2_uc21"><path d="M208.9799,269.4409 C247.3899,257.5109 295.46,242.59 338.81,229.13" fill="none" id="uc2-backto-uc21" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="191.79,274.78,210.7596,275.1708,207.2002,263.7109,191.79,274.78" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc2 to uc22--><g class="link" data-entity-1="uc2" data-entity-2="uc22" data-source-line="45" data-uid="lnk36" id="link_uc2_uc22"><path d="M220.48,284.52 C251.06,284.52 275.19,284.52 311.03,284.52" fill="none" id="uc2-backto-uc22" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="202.48,284.52,220.48,290.52,220.48,278.52,202.48,284.52" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc3 to uc31--><g class="link" data-entity-1="uc3" data-entity-2="uc31" data-source-line="47" data-uid="lnk37" id="link_uc3_uc31"><path d="M193.9011,445.1112 C216.9911,428.5312 243.09,411.21 280.94,392.52 C297.36,384.41 316.03,377.11 332.85,371.18" fill="none" id="uc3-backto-uc31" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="179.28,455.61,197.4007,449.9849,190.4015,440.2375,179.28,455.61" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc3 to uc32--><g class="link" data-entity-1="uc3" data-entity-2="uc32" data-source-line="48" data-uid="lnk38" id="link_uc3_uc32"><path d="M222.3185,458.6555 C252.8285,453.2955 276.33,449.17 311.44,443.01" fill="none" id="uc3-backto-uc32" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="204.59,461.77,223.3567,464.565,221.2803,452.746,204.59,461.77" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc3 to uc33--><g class="link" data-entity-1="uc3" data-entity-2="uc33" data-source-line="49" data-uid="lnk39" id="link_uc3_uc33"><path d="M222.6033,480.1489 C251.4833,485.0789 272.15,488.62 305.88,494.39" fill="none" id="uc3-backto-uc33" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="204.86,477.12,221.5937,486.0633,223.613,474.2345,204.86,477.12" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc4 to uc41--><g class="link" data-entity-1="uc4" data-entity-2="uc41" data-source-line="51" data-uid="lnk40" id="link_uc4_uc41"><path d="M227.4548,613.4484 C256.0948,608.2884 275.06,604.88 307.25,599.09" fill="none" id="uc4-backto-uc41" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="209.74,616.64,228.5187,619.3533,226.3909,607.5434,209.74,616.64" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc4 to uc42--><g class="link" data-entity-1="uc4" data-entity-2="uc42" data-source-line="52" data-uid="lnk41" id="link_uc4_uc42"><path d="M227.4545,637.583 C254.6945,642.493 271.48,645.51 302.48,651.09" fill="none" id="uc4-backto-uc42" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="209.74,634.39,226.3902,643.4879,228.5189,631.6782,209.74,634.39" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc4 to uc43--><g class="link" data-entity-1="uc4" data-entity-2="uc43" data-source-line="53" data-uid="lnk42" id="link_uc4_uc43"><path d="M193.7756,650.4985 C216.8856,667.5785 243.16,685.63 280.94,705.52 C295.76,713.32 312.41,720.61 327.88,726.8" fill="none" id="uc4-backto-uc43" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="179.3,639.8,190.2094,655.3237,197.3417,645.6733,179.3,639.8" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc5 to uc51--><g class="link" data-entity-1="uc5" data-entity-2="uc51" data-source-line="55" data-uid="lnk43" id="link_uc5_uc51"><path d="M198.8919,892.6027 C222.6919,878.6627 245.76,866.25 280.94,851.52 C300.4,843.37 322.7,836.13 341.45,830.61" fill="none" id="uc5-backto-uc51" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="183.36,901.7,201.9243,897.78,195.8595,887.4254,183.36,901.7" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc5 to uc52--><g class="link" data-entity-1="uc5" data-entity-2="uc52" data-source-line="56" data-uid="lnk44" id="link_uc5_uc52"><path d="M230.9064,905.3653 C266.1964,900.2853 294.68,896.18 329.97,891.1" fill="none" id="uc5-backto-uc52" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="213.09,907.93,231.7612,911.3041,230.0515,899.4265,213.09,907.93" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc5 to uc53--><g class="link" data-entity-1="uc5" data-entity-2="uc53" data-source-line="57" data-uid="lnk45" id="link_uc5_uc53"><path d="M230.3246,925.8949 C264.4546,930.9649 291.23,934.94 326.2,940.13" fill="none" id="uc5-backto-uc53" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="212.52,923.25,229.443,931.8297,231.2062,919.96,212.52,923.25" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc5 to uc54--><g class="link" data-entity-1="uc5" data-entity-2="uc54" data-source-line="58" data-uid="lnk46" id="link_uc5_uc54"><path d="M202.3659,937.4293 C213.0859,943.0593 209.68,941.35 220.94,947.52 C247.82,962.24 252.83,969.29 280.94,981.52 C303.01,991.11 328.89,999.22 349.02,1004.87" fill="none" id="uc5-backto-uc54" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="186.43,929.06,199.5762,942.7413,205.1557,932.1174,186.43,929.06" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc5 to uc55--><g class="link" data-entity-1="uc5" data-entity-2="uc55" data-source-line="59" data-uid="lnk47" id="link_uc5_uc55"><path d="M208.4303,936.5083 C218.3203,941.4983 212.71,939.79 220.94,947.52 C258.17,982.48 240.69,1014.08 280.94,1045.52 C299.03,1059.65 323.45,1067.6 343.84,1072.04" fill="none" id="uc5-backto-uc55" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="192.36,928.4,205.7276,941.8651,211.1331,931.1515,192.36,928.4" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link uc5 to uc56--><g class="link" data-entity-1="uc5" data-entity-2="uc56" data-source-line="60" data-uid="lnk48" id="link_uc5_uc56"><path d="M210.2962,936.0962 C219.9462,940.9862 213.73,939.29 220.94,947.52 C271.54,1005.26 225.31,1056.6 280.94,1109.52 C294.08,1122.02 312.07,1129.64 329.26,1134.28" fill="none" id="uc5-backto-uc56" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="194.24,927.96,207.5841,941.4483,213.0083,930.7442,194.24,927.96" style="stroke:#181818;stroke-width:1;"></polygon></g><!--SRC=[XLFDJi906BptAJRSU-YsvMHy2n-0rAeaHfAst3mG8u8aM30DFmAAYIJ68113H58UXztI4wyWMxfbb_9p-oRVp7PsTdgjNrZ0oW0ZVNbbWVEqeMjMEdCZf3GhOu0pKpT0oWHPGSYQkfOoTP304nULkdwhWAgDHB3KfCqM5Rj-yuFRmitMQxgBmGZNV_tw69NVGuAyJV2T7786gF2DEvIZC0PQO-nCrv_0ZIVFVGWvAcF3hYvgNxZU2rV9-0MUtxoxAPfGXYHjCt2xk3g3loYC7HDOzLpRgr0RaYnivu4cF-YxWTgVtiizdqqiklbVUGyL2dk3NCwAqNsMiqUQgtHGq7dTfO47DO6Xo28ZauL3ZqYaJ50RdI8TawrSxbR2OyfzNXNMAricL5bnwxHCqXvIUuGwEKg2soGyjD78NcM6Ipq_twSyESOBoaNNyNRd-twXIjTgJEqCvsu3rwPePbCIgJWGnTFr_nXEC9haQ5AYIOqc8jOaS78hYk6_m2388PAU1Yaa1MOGwQWcKqWAo238eU0SXK9I10P13WLKbKBoCWo2798vf718vL3o7m00]--></g></svg></p><h3 id="用例1增加雇员">用例1：增加雇员。 </h3>
<p>使用AddEmp操作(transaction)增加新雇员。该操作包含有分配的雇员号、雇员的名字及其地址。该操作有3种形式：</p>
<p><code>AddEmp EmpId “name” “address” H hourly-rate</code><br>
<code>AddEmp EmpId “name" “address” S monthly-salary</code><br>
<code>AddEmp EmpId “name” “address” C monthly-salary</code><br>
<code>commosion-rate</code></p>
<p>雇员记录是根据对应字段的值来创建的。</p>
<p>异常情况1：描述操作的结构有错误。</p>
<p>如果描述操作的结构不正确，会打印一条错误消息，不进行任何处理。</p>
<h3 id="用例2--删除雇员">用例2  删除雇员。 </h3>
<p>使用DelEmp操作来删除雇员。操作形式：</p>
<p><code>DelEmp EmpId</code></p>
<p>当执行该操作时，会删除对应的雇员记录。</p>
<p>异常情况1：无效或者未知的EmpId。</p>
<p>如果EmpId字段不具有正确的结构，或者它没有引用到一条有效的雇员记录，会打印一条错误消息，不进行其他处理。</p>
<h3 id="用例3--登记时间卡">用例3  登记时间卡。 </h3>
<p>执行TimeCard操作时，系统会创建一条时间卡记录，并把该记录和对应的雇员记录关联起来。</p>
<p><code>TimeCard EmpId date hours</code></p>
<p>异常情况1：所选择的雇员不是钟点雇员。</p>
<p>系统会打印一条错误信息，并且不进行进一步的处理。</p>
<p>异常情况2：描述操作的结构中有错误。</p>
<p>系统会打印一条错误信息，不进行进一步的处理。</p>
<h3 id="用例4--登记销售凭条">用例4  登记销售凭条。 </h3>
<p>执行SalesReceipt操作时，系统会创建一条新的销售凭条记录，并把该记录和相应的应支付酬金的雇员关联起来。</p>
<p><code>SalesReceipt EmpId date amount</code></p>
<p>异常情况1：所选择的雇员不是应该支付酬金的。</p>
<p>系统会打印一条错误消息，不进行进一步的处理。</p>
<p>异常情况2：描述操作的结构中有错误。</p>
<p>系统会打印一条错误信息，不进行进一步的处理。</p>
<h3 id="用例5--更改雇员明细">用例5  更改雇员明细。 </h3>
<p>执行ChgEmp操作时，系统会更改对应雇员记录的详细信息之一。该操的几种操作形式如下：<br>
<code>ChgEmp EmpId name “name”	更改雇员名</code><br>
<code>ChgEmp EmpId address “address”	更改雇员地址</code><br>
<code>ChgEmp EmpId hourly hourly-rate	更改每小时报酬</code><br>
<code>ChgEmp EmpId salaried salary	更改薪水</code><br>
<code>ChgEmp EmpId commissioned salary rate	更改酬金</code><br>
<code>ChgEmp EmpId hold	持有支票</code><br>
<code>ChgEmp EmpId direct “bank” “account”	直接存款</code><br>
<code>ChgEmp EmpId mail “address”	邮寄支票</code></p>
<p>异常情况：操作错误。</p>
<p>如果描述操作的结构不正确，或者EmpId没有引用到真正的雇员，那么打印一条错误信息，不进行进一步的处理。</p>
<h3 id="用例6--发薪日">用例6  发薪日。 </h3>
<p>执行Payday操作时，系统计算所有雇员的薪金，并根据他们所选择的支付方式对他们进行支付。<br>
<code>Payday</code></p>
<h2 id="系统设计">系统设计 </h2>
<p class="plantuml"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentstyletype="text/css" data-diagram-type="CLASS" height="774px" preserveAspectRatio="none" style="width:887px;height:774px;background:#FFFFFF;" version="1.1" viewBox="0 0 887 774" width="887px" zoomAndPan="magnify"><defs></defs><g><!--class PaymentClassification--><g class="entity" data-entity="PaymentClassification" data-source-line="3" data-uid="ent0002" id="entity_PaymentClassification"><rect fill="#F1F1F1" height="48" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="186.5537" x="7" y="481.59"></rect><ellipse cx="22" cy="497.59" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M22.1094,492.9338 L20.9531,498.0119 L23.2813,498.0119 L22.1094,492.9338 Z M20.625,490.6994 L23.6094,490.6994 L26.9688,503.09 L24.5156,503.09 L23.75,500.0275 L20.4688,500.0275 L19.7188,503.09 L17.2813,503.09 L20.625,490.6994 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="154.5537" x="36" y="502.4367">PaymentClassification</text><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="192.5537" y1="513.59" y2="513.59"></line><line style="stroke:#181818;stroke-width:0.5;" x1="8" x2="192.5537" y1="521.59" y2="521.59"></line></g><!--class PaymentMethod--><g class="entity" data-entity="PaymentMethod" data-source-line="6" data-uid="ent0003" id="entity_PaymentMethod"><rect fill="#F1F1F1" height="48" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="146.4268" x="375.47" y="275.59"></rect><ellipse cx="390.47" cy="291.59" fill="#A9DCDF" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M390.5794,286.9338 L389.4231,292.0119 L391.7513,292.0119 L390.5794,286.9338 Z M389.095,284.6994 L392.0794,284.6994 L395.4388,297.09 L392.9856,297.09 L392.22,294.0275 L388.9388,294.0275 L388.1888,297.09 L385.7513,297.09 L389.095,284.6994 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="114.4268" x="404.47" y="296.4367">PaymentMethod</text><line style="stroke:#181818;stroke-width:0.5;" x1="376.47" x2="520.8968" y1="307.59" y2="307.59"></line><line style="stroke:#181818;stroke-width:0.5;" x1="376.47" x2="520.8968" y1="315.59" y2="315.59"></line></g><!--class Employee--><g class="entity" data-entity="Employee" data-source-line="9" data-uid="ent0004" id="entity_Employee"><rect fill="#F1F1F1" height="129.4844" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="349.1689" x="274.1" y="358.85"></rect><ellipse cx="409.766" cy="374.85" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M412.7348,380.4906 Q412.1566,380.7875 411.516,380.9281 Q410.8754,381.0844 410.1723,381.0844 Q407.6723,381.0844 406.3441,379.4437 Q405.0316,377.7875 405.0316,374.6625 Q405.0316,371.5375 406.3441,369.8812 Q407.6723,368.225 410.1723,368.225 Q410.8754,368.225 411.516,368.3812 Q412.1723,368.5375 412.7348,368.8344 L412.7348,371.5531 Q412.1098,370.975 411.516,370.7094 Q410.9223,370.4281 410.2973,370.4281 Q408.9535,370.4281 408.266,371.5062 Q407.5785,372.5687 407.5785,374.6625 Q407.5785,376.7562 408.266,377.8344 Q408.9535,378.8969 410.2973,378.8969 Q410.9223,378.8969 411.516,378.6312 Q412.1098,378.35 412.7348,377.7719 L412.7348,380.4906 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="69.3369" x="430.266" y="379.6967">Employee</text><line style="stroke:#181818;stroke-width:0.5;" x1="275.1" x2="622.2689" y1="390.85" y2="390.85"></line><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="282.1" y="401.4984"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="76.0225" x="294.1" y="407.8451">empId : int</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="282.1" y="417.7953"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="95.1016" x="294.1" y="424.142">name : String</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="282.1" y="434.0922"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110.708" x="294.1" y="440.4389">address : String</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="282.1" y="450.3891"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="323.1689" x="294.1" y="456.7357">paymentClassification : PaymentClassification</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="282.1" y="466.6859"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="242.915" x="294.1" y="473.0326">paymentMethod : PaymentMethod</text><line style="stroke:#181818;stroke-width:0.5;" x1="275.1" x2="622.2689" y1="480.3344" y2="480.3344"></line></g><!--class HourlyClassification--><g class="entity" data-entity="HourlyClassification" data-source-line="17" data-uid="ent0005" id="entity_HourlyClassification"><rect fill="#F1F1F1" height="129.4844" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="345.2861" x="276.04" y="522.85"></rect><ellipse cx="375.1679" cy="538.85" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M378.1367,544.4906 Q377.5586,544.7875 376.9179,544.9281 Q376.2773,545.0844 375.5742,545.0844 Q373.0742,545.0844 371.7461,543.4438 Q370.4336,541.7875 370.4336,538.6625 Q370.4336,535.5375 371.7461,533.8813 Q373.0742,532.225 375.5742,532.225 Q376.2773,532.225 376.9179,532.3813 Q377.5742,532.5375 378.1367,532.8344 L378.1367,535.5531 Q377.5117,534.975 376.9179,534.7094 Q376.3242,534.4281 375.6992,534.4281 Q374.3554,534.4281 373.6679,535.5063 Q372.9804,536.5688 372.9804,538.6625 Q372.9804,540.7563 373.6679,541.8344 Q374.3554,542.8969 375.6992,542.8969 Q376.3242,542.8969 376.9179,542.6313 Q377.5117,542.35 378.1367,541.7719 L378.1367,544.4906 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="138.5303" x="395.6679" y="543.6967">HourlyClassification</text><line style="stroke:#181818;stroke-width:0.5;" x1="277.04" x2="620.3261" y1="554.85" y2="554.85"></line><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="284.04" y="565.4984"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="137.9834" x="296.04" y="571.8451">hourlyRate : double</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="284.04" y="581.7953"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="256.915" x="296.04" y="588.142">timeCards : Map&lt;String, TimeCard&gt;</text><line style="stroke:#181818;stroke-width:0.5;" x1="277.04" x2="620.3261" y1="595.4438" y2="595.4438"></line><ellipse cx="287.04" cy="609.0922" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173.5508" x="296.04" y="612.4389">getHourlyRate() : double</text><ellipse cx="287.04" cy="625.3891" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="319.2861" x="296.04" y="628.7357">getTimeCardOfDate(date : String) : TimeCard</text><ellipse cx="287.04" cy="641.6859" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="242.7031" x="296.04" y="645.0326">addTimeCard(tc : TimeCard) : void</text></g><!--class SalariedClassification--><g class="entity" data-entity="SalariedClassification" data-source-line="25" data-uid="ent0006" id="entity_SalariedClassification"><rect fill="#F1F1F1" height="80.5938" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="181.7139" x="357.83" y="687.3"></rect><ellipse cx="372.83" cy="703.3" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M375.7988,708.9406 Q375.2206,709.2375 374.58,709.3781 Q373.9394,709.5344 373.2363,709.5344 Q370.7363,709.5344 369.4081,707.8938 Q368.0956,706.2375 368.0956,703.1125 Q368.0956,699.9875 369.4081,698.3313 Q370.7363,696.675 373.2363,696.675 Q373.9394,696.675 374.58,696.8313 Q375.2363,696.9875 375.7988,697.2844 L375.7988,700.0031 Q375.1738,699.425 374.58,699.1594 Q373.9863,698.8781 373.3613,698.8781 Q372.0175,698.8781 371.33,699.9563 Q370.6425,701.0188 370.6425,703.1125 Q370.6425,705.2063 371.33,706.2844 Q372.0175,707.3469 373.3613,707.3469 Q373.9863,707.3469 374.58,707.0813 Q375.1738,706.8 375.7988,706.2219 L375.7988,708.9406 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="149.7139" x="386.83" y="708.1467">SalariedClassification</text><line style="stroke:#181818;stroke-width:0.5;" x1="358.83" x2="538.5439" y1="719.3" y2="719.3"></line><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="365.83" y="729.9484"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103.7148" x="377.83" y="736.2951">salary : double</text><line style="stroke:#181818;stroke-width:0.5;" x1="358.83" x2="538.5439" y1="743.5969" y2="743.5969"></line><ellipse cx="368.83" cy="757.2453" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139.2207" x="377.83" y="760.592">getSalary() : double</text></g><!--class CommissionedClassification--><g class="entity" data-entity="CommissionedClassification" data-source-line="30" data-uid="ent0007" id="entity_CommissionedClassification"><rect fill="#F1F1F1" height="162.0781" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="390.2666" x="253.55" y="30.55"></rect><ellipse cx="346.6555" cy="46.55" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M349.6242,52.1906 Q349.0461,52.4875 348.4055,52.6281 Q347.7648,52.7844 347.0617,52.7844 Q344.5617,52.7844 343.2336,51.1437 Q341.9211,49.4875 341.9211,46.3625 Q341.9211,43.2375 343.2336,41.5812 Q344.5617,39.925 347.0617,39.925 Q347.7648,39.925 348.4055,40.0812 Q349.0617,40.2375 349.6242,40.5344 L349.6242,43.2531 Q348.9992,42.675 348.4055,42.4094 Q347.8117,42.1281 347.1867,42.1281 Q345.843,42.1281 345.1555,43.2062 Q344.468,44.2687 344.468,46.3625 Q344.468,48.4562 345.1555,49.5344 Q345.843,50.5969 347.1867,50.5969 Q347.8117,50.5969 348.4055,50.3312 Q348.9992,50.05 349.6242,49.4719 L349.6242,52.1906 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="195.5557" x="367.1555" y="51.3967">CommissionedClassification</text><line style="stroke:#181818;stroke-width:0.5;" x1="254.55" x2="642.8166" y1="62.55" y2="62.55"></line><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="261.55" y="73.1984"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="103.7148" x="273.55" y="79.5451">salary : double</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="261.55" y="89.4953"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="177.085" x="273.55" y="95.842">commissionRate : double</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="261.55" y="105.7922"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="303.3652" x="273.55" y="112.1389">salesReceipts : Map&lt;String, SalesReceipt&gt;</text><line style="stroke:#181818;stroke-width:0.5;" x1="254.55" x2="642.8166" y1="119.4406" y2="119.4406"></line><ellipse cx="264.55" cy="133.0891" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="139.2207" x="273.55" y="136.4357">getSalary() : double</text><ellipse cx="264.55" cy="149.3859" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="213.0762" x="273.55" y="152.7326">getCommissionRate() : double</text><ellipse cx="264.55" cy="165.6828" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="364.2666" x="273.55" y="169.0295">getSalesReceiptOfDate(date : String) : SalesReceipt</text><ellipse cx="264.55" cy="181.9797" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="287.5469" x="273.55" y="185.3264">addSalesReceipt(sr : SalesReceipt) : void</text></g><!--class TimeCard--><g class="entity" data-entity="TimeCard" data-source-line="40" data-uid="ent0008" id="entity_TimeCard"><rect fill="#F1F1F1" height="113.1875" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="162.2607" x="710.82" y="531"></rect><ellipse cx="753.9771" cy="547" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M756.9458,552.6406 Q756.3677,552.9375 755.7271,553.0781 Q755.0865,553.2344 754.3833,553.2344 Q751.8833,553.2344 750.5552,551.5938 Q749.2427,549.9375 749.2427,546.8125 Q749.2427,543.6875 750.5552,542.0313 Q751.8833,540.375 754.3833,540.375 Q755.0865,540.375 755.7271,540.5313 Q756.3833,540.6875 756.9458,540.9844 L756.9458,543.7031 Q756.3208,543.125 755.7271,542.8594 Q755.1333,542.5781 754.5083,542.5781 Q753.1646,542.5781 752.4771,543.6563 Q751.7896,544.7188 751.7896,546.8125 Q751.7896,548.9063 752.4771,549.9844 Q753.1646,551.0469 754.5083,551.0469 Q755.1333,551.0469 755.7271,550.7813 Q756.3208,550.5 756.9458,549.9219 L756.9458,552.6406 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67.6895" x="774.2342" y="551.8467">TimeCard</text><line style="stroke:#181818;stroke-width:0.5;" x1="711.82" x2="872.0807" y1="563" y2="563"></line><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="718.82" y="573.6484"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86.9668" x="730.82" y="579.9951">date : String</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="718.82" y="589.9453"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="100.6934" x="730.82" y="596.292">hours : double</text><line style="stroke:#181818;stroke-width:0.5;" x1="711.82" x2="872.0807" y1="603.5938" y2="603.5938"></line><ellipse cx="721.82" cy="617.2422" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122.7734" x="730.82" y="620.5889">getDate() : String</text><ellipse cx="721.82" cy="633.5391" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="136.2607" x="730.82" y="636.8857">getHours() : double</text></g><!--class SalesReceipt--><g class="entity" data-entity="SalesReceipt" data-source-line="47" data-uid="ent0009" id="entity_SalesReceipt"><rect fill="#F1F1F1" height="113.1875" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="176.2607" x="703.82" y="7"></rect><ellipse cx="743.1565" cy="23" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M746.1252,28.6406 Q745.5471,28.9375 744.9065,29.0781 Q744.2658,29.2344 743.5627,29.2344 Q741.0627,29.2344 739.7346,27.5938 Q738.4221,25.9375 738.4221,22.8125 Q738.4221,19.6875 739.7346,18.0313 Q741.0627,16.375 743.5627,16.375 Q744.2658,16.375 744.9065,16.5313 Q745.5627,16.6875 746.1252,16.9844 L746.1252,19.7031 Q745.5002,19.125 744.9065,18.8594 Q744.3127,18.5781 743.6877,18.5781 Q742.344,18.5781 741.6565,19.6563 Q740.969,20.7188 740.969,22.8125 Q740.969,24.9063 741.6565,25.9844 Q742.344,27.0469 743.6877,27.0469 Q744.3127,27.0469 744.9065,26.7813 Q745.5002,26.5 746.1252,25.9219 L746.1252,28.6406 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90.1797" x="762.5646" y="27.8467">SalesReceipt</text><line style="stroke:#181818;stroke-width:0.5;" x1="704.82" x2="879.0807" y1="39" y2="39"></line><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="711.82" y="49.6484"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="86.9668" x="723.82" y="55.9951">date : String</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="711.82" y="65.9453"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115.3496" x="723.82" y="72.292">amount : double</text><line style="stroke:#181818;stroke-width:0.5;" x1="704.82" x2="879.0807" y1="79.5938" y2="79.5938"></line><ellipse cx="714.82" cy="93.2422" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122.7734" x="723.82" y="96.5889">getDate() : String</text><ellipse cx="714.82" cy="109.5391" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="150.2607" x="723.82" y="112.8857">getAmount() : double</text></g><!--class HoldMethod--><g class="entity" data-entity="HoldMethod" data-source-line="54" data-uid="ent0010" id="entity_HoldMethod"><rect fill="#F1F1F1" height="48" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="116.376" x="733.76" y="419.59"></rect><ellipse cx="748.76" cy="435.59" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M751.7288,441.2306 Q751.1506,441.5275 750.51,441.6681 Q749.8694,441.8244 749.1663,441.8244 Q746.6663,441.8244 745.3381,440.1838 Q744.0256,438.5275 744.0256,435.4025 Q744.0256,432.2775 745.3381,430.6213 Q746.6663,428.965 749.1663,428.965 Q749.8694,428.965 750.51,429.1213 Q751.1663,429.2775 751.7288,429.5744 L751.7288,432.2931 Q751.1038,431.715 750.51,431.4494 Q749.9163,431.1681 749.2913,431.1681 Q747.9475,431.1681 747.26,432.2463 Q746.5725,433.3088 746.5725,435.4025 Q746.5725,437.4963 747.26,438.5744 Q747.9475,439.6369 749.2913,439.6369 Q749.9163,439.6369 750.51,439.3713 Q751.1038,439.09 751.7288,438.5119 L751.7288,441.2306 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84.376" x="762.76" y="440.4367">HoldMethod</text><line style="stroke:#181818;stroke-width:0.5;" x1="734.76" x2="849.136" y1="451.59" y2="451.59"></line><line style="stroke:#181818;stroke-width:0.5;" x1="734.76" x2="849.136" y1="459.59" y2="459.59"></line></g><!--class MailMethod--><g class="entity" data-entity="MailMethod" data-source-line="57" data-uid="ent0011" id="entity_MailMethod"><rect fill="#F1F1F1" height="80.5938" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="171.6191" x="706.14" y="155.3"></rect><ellipse cx="747.5437" cy="171.3" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M750.5124,176.9406 Q749.9343,177.2375 749.2937,177.3781 Q748.653,177.5344 747.9499,177.5344 Q745.4499,177.5344 744.1218,175.8937 Q742.8093,174.2375 742.8093,171.1125 Q742.8093,167.9875 744.1218,166.3312 Q745.4499,164.675 747.9499,164.675 Q748.653,164.675 749.2937,164.8312 Q749.9499,164.9875 750.5124,165.2844 L750.5124,168.0031 Q749.8874,167.425 749.2937,167.1594 Q748.6999,166.8781 748.0749,166.8781 Q746.7312,166.8781 746.0437,167.9562 Q745.3562,169.0187 745.3562,171.1125 Q745.3562,173.2062 746.0437,174.2844 Q746.7312,175.3469 748.0749,175.3469 Q748.6999,175.3469 749.2937,175.0812 Q749.8874,174.8 750.5124,174.2219 L750.5124,176.9406 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="80.9443" x="767.4111" y="176.1467">MailMethod</text><line style="stroke:#181818;stroke-width:0.5;" x1="707.14" x2="876.7591" y1="187.3" y2="187.3"></line><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="714.14" y="197.9484"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="110.708" x="726.14" y="204.2951">address : String</text><line style="stroke:#181818;stroke-width:0.5;" x1="707.14" x2="876.7591" y1="211.5969" y2="211.5969"></line><ellipse cx="717.14" cy="225.2453" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="145.6191" x="726.14" y="228.592">getAddress() : String</text></g><!--class DirectMethod--><g class="entity" data-entity="DirectMethod" data-source-line="62" data-uid="ent0012" id="entity_DirectMethod"><rect fill="#F1F1F1" height="113.1875" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="172.084" x="705.91" y="271"></rect><ellipse cx="741.3182" cy="287" fill="#ADD1B2" rx="11" ry="11" style="stroke:#181818;stroke-width:1;"></ellipse><path d="M744.287,292.6406 Q743.7088,292.9375 743.0682,293.0781 Q742.4276,293.2344 741.7245,293.2344 Q739.2245,293.2344 737.8963,291.5938 Q736.5838,289.9375 736.5838,286.8125 Q736.5838,283.6875 737.8963,282.0313 Q739.2245,280.375 741.7245,280.375 Q742.4276,280.375 743.0682,280.5313 Q743.7245,280.6875 744.287,280.9844 L744.287,283.7031 Q743.662,283.125 743.0682,282.8594 Q742.4745,282.5781 741.8495,282.5781 Q740.5057,282.5781 739.8182,283.6563 Q739.1307,284.7188 739.1307,286.8125 Q739.1307,288.9063 739.8182,289.9844 Q740.5057,291.0469 741.8495,291.0469 Q742.4745,291.0469 743.0682,290.7813 Q743.662,290.5 744.287,289.9219 L744.287,292.6406 Z " fill="#000000"></path><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="94.7324" x="759.8534" y="291.8467">DirectMethod</text><line style="stroke:#181818;stroke-width:0.5;" x1="706.91" x2="876.994" y1="303" y2="303"></line><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="713.91" y="313.6484"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="89.8447" x="725.91" y="319.9951">bank : String</text><rect fill="none" height="6" style="stroke:#C82930;stroke-width:1;" width="6" x="713.91" y="329.9453"></rect><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="111.1729" x="725.91" y="336.292">account : String</text><line style="stroke:#181818;stroke-width:0.5;" x1="706.91" x2="876.994" y1="343.5938" y2="343.5938"></line><ellipse cx="716.91" cy="357.2422" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="124.4756" x="725.91" y="360.5889">getBank() : String</text><ellipse cx="716.91" cy="373.5391" fill="#84BE84" rx="3" ry="3" style="stroke:#038048;stroke-width:1;"></ellipse><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146.084" x="725.91" y="376.8857">getAccount() : String</text></g><!--reverse link PaymentClassification to HourlyClassification--><g class="link" data-entity-1="PaymentClassification" data-entity-2="HourlyClassification" data-source-line="69" data-uid="lnk13" id="link_PaymentClassification_HourlyClassification"><path codeline="69" d="M211.1664,531.6043 C236.5264,537.6043 247.34,540.17 275.63,546.87" fill="none" id="PaymentClassification-backto-HourlyClassification" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="193.65,527.46,209.785,537.4431,212.5478,525.7655,193.65,527.46" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link PaymentClassification to SalariedClassification--><g class="link" data-entity-1="PaymentClassification" data-entity-2="SalariedClassification" data-source-line="70" data-uid="lnk14" id="link_PaymentClassification_SalariedClassification"><path codeline="70" d="M127.7452,544.7751 C152.7352,580.6151 193.84,632.45 253.55,669.59 C284.92,689.1 323.21,702.36 357.48,711.22" fill="none" id="PaymentClassification-backto-SalariedClassification" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="117.45,530.01,122.8235,548.2069,132.6669,541.3434,117.45,530.01" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link PaymentClassification to CommissionedClassification--><g class="link" data-entity-1="PaymentClassification" data-entity-2="CommissionedClassification" data-source-line="71" data-uid="lnk15" id="link_PaymentClassification_CommissionedClassification"><path codeline="71" d="M120.0018,465.1162 C142.1218,418.3162 187.75,329.9 253.55,257.59 C274.56,234.51 299.64,212.58 324.69,193.05" fill="none" id="PaymentClassification-backto-CommissionedClassification" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="112.31,481.39,125.4264,467.6801,114.5772,462.5523,112.31,481.39" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link PaymentMethod to HoldMethod--><g class="link" data-entity-1="PaymentMethod" data-entity-2="HoldMethod" data-source-line="72" data-uid="lnk16" id="link_PaymentMethod_HoldMethod"><path codeline="72" d="M540.1098,307.9203 C578.1298,313.3403 606.58,321.29 643.82,341.59 C676.93,359.65 673.07,379.76 703.82,401.59 C712.99,408.11 723.34,414.09 733.6,419.37" fill="none" id="PaymentMethod-backto-HoldMethod" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="522.29,305.38,539.2631,313.8603,540.9566,301.9804,522.29,305.38" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link PaymentMethod to MailMethod--><g class="link" data-entity-1="PaymentMethod" data-entity-2="MailMethod" data-source-line="73" data-uid="lnk17" id="link_PaymentMethod_MailMethod"><path codeline="73" d="M539.278,272.2922 C592.988,255.9222 649.18,238.8 705.72,221.57" fill="none" id="PaymentMethod-backto-MailMethod" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="522.06,277.54,541.0273,278.0315,537.5288,266.5529,522.06,277.54" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link PaymentMethod to DirectMethod--><g class="link" data-entity-1="PaymentMethod" data-entity-2="DirectMethod" data-source-line="74" data-uid="lnk18" id="link_PaymentMethod_DirectMethod"><path codeline="74" d="M539.9997,307.0024 C593.6097,311.4024 648.91,315.94 705.41,320.57" fill="none" id="PaymentMethod-backto-DirectMethod" style="stroke:#181818;stroke-width:1;"></path><polygon fill="none" points="522.06,305.53,539.5089,312.9823,540.4905,301.0225,522.06,305.53" style="stroke:#181818;stroke-width:1;"></polygon></g><!--link PaymentClassification to Employee--><g class="link" data-entity-1="PaymentClassification" data-entity-2="Employee" data-source-line="76" data-uid="lnk19" id="link_PaymentClassification_Employee"><path codeline="76" d="M193.65,483.73 C218.41,477.87 234.3229,474.105 261.9429,467.565" fill="none" id="PaymentClassification-to-Employee" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="273.62,464.8,266.8598,462.2901,261.9429,467.565,268.7031,470.0749,273.62,464.8" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link Employee to PaymentMethod--><g class="link" data-entity-1="Employee" data-entity-2="PaymentMethod" data-source-line="77" data-uid="lnk20" id="link_Employee_PaymentMethod"><path codeline="77" d="M448.69,346.69 C448.69,335.15 448.69,335.6 448.69,324.06" fill="none" id="Employee-backto-PaymentMethod" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="448.69,358.69,452.69,352.69,448.69,346.69,444.69,352.69,448.69,358.69" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link HourlyClassification to TimeCard--><g class="link" data-entity-1="HourlyClassification" data-entity-2="TimeCard" data-source-line="78" data-uid="lnk21" id="link_HourlyClassification_TimeCard"><path codeline="78" d="M633.82,587.59 C664.8,587.59 683.71,587.59 710.47,587.59" fill="none" id="HourlyClassification-backto-TimeCard" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="621.82,587.59,627.82,591.59,633.82,587.59,627.82,583.59,621.82,587.59" style="stroke:#181818;stroke-width:1;"></polygon></g><!--reverse link CommissionedClassification to SalesReceipt--><g class="link" data-entity-1="CommissionedClassification" data-entity-2="SalesReceipt" data-source-line="79" data-uid="lnk22" id="link_CommissionedClassification_SalesReceipt"><path codeline="79" d="M656.1227,82.5563 C676.7827,79.6463 685.08,78.48 703.54,75.89" fill="none" id="CommissionedClassification-backto-SalesReceipt" style="stroke:#181818;stroke-width:1;"></path><polygon fill="#181818" points="644.24,84.23,650.7393,87.3541,656.1227,82.5563,649.6235,79.4322,644.24,84.23" style="stroke:#181818;stroke-width:1;"></polygon></g><!--SRC=[bLJBRiCW4BpxApYcRlq3KHIfJIgbXwXLqXyWG19K7XQGIbRRVoyO6sCRMqfEpixixEm2oyZP02E1efUh0PWgWWoL8ilWIHi5aG68GQt11wmu4MRZ_j0pHT2nm4_sDyNS4tELs3CyyCfB9Yj2R0pONm48BzymM08gJ1CHa1CRE1f5nQM9GOmLiUc3S9aqj4mRxUSqrfPzgvtHdRmfLerQzHhN6Zn0uunYUJinqY26ShA12ZkhUrYklDqdyDd4rpNl4Lo8sGMHnKDVfeRRZFVprb6mB-Rr7B_5cmmxeJQoC2Z27VTRqgYr8sHGKO8dcjCEhXAEwhmgDXiaDv9pQiMak4ks02WafgPfSuW-44HeQOOJFKROUivaW3QzMabAB3er-9ZJ3J-EBhGQyCQ7q1vFc4-lJdJFTCBcjlKViSETqiaJYjtCreHSteIvf-XpdP6ikfCCZvV07b8MeZCFtAjx9AuSXBRrgXf8dQ3u6ZM5KDFLKFx5ijDT-PH1tVGANFqMHN9ZpF7Jpt0kO_gLPVs5s_XfPvz2kpD8eV5WfvekYhnRvrduoel1zi-IgpItLS8Ro6RsH-v75IxlFm00]--></g></svg></p><h3 id="增加雇员">增加雇员 </h3>
<pre class="language-text">FetchError: request to http://www.plantuml.com/plantuml/svg/hLBBQiCm4BphA_QOKFm39PYKj90U2gNj3soaRIFG8sXbY2dvz-8uYbr7TbFQcxIpEpExp98ZXbXP8t33CQ2C80qomrj0noYZzWu-1G303T2UP1LfDXS78Tgs1xiplYOwzp35LOFeTosncPxDE-I9ujQh_lpQ6zLMK-KPw-2DkSU86sHAvJkbabRV6kqZEPMpMm3PtQCwlHrQEZrHgK3C5pkr_u-C_qFFnDfNmTHJLaQS9bVR8y4BHhfIyHKD1atg3vhSKDHNwgsyjPfPU_TVcWN8C-UrYxTt_eudB5qaZ_Rz3pl4YEcYABiety9Y8GDX92xBoP4klRyO6WGSZitZiMfrBe-HKPnAIaEJlrk6wAS8D6JZPnuGBicfofel failed, reason: read ECONNRESET</pre>
      </div>
      
      
    
    
    
    
    
    
  
    </body></html>